3D Graphics Programming with QuickDraw 3D 1.5.4
Previous | QD3D Book | Overview | Chapter Contents | Next
QuickDraw 3D provides routines that you can use to create and manipulate NURB patches. See "NURB Patches" for the definition of a NURB patch.
You can use the Q3NURBPatch_New function to create a new NURB patch.
TQ3GeometryObject Q3NURBPatch_New (
const TQ3NURBPatchData *nurbPatchData);
You can use the Q3NURBPatch_Submit function to submit an immediate NURB patch for drawing, picking, bounding, or writing.
TQ3Status Q3NURBPatch_Submit (
const TQ3NURBPatchData *nurbPatchData,
TQ3ViewObject view);
The Q3NURBPatch_Submit function submits for drawing, picking, bounding, or writing the immediate NURB patch whose shape and attribute set are specified by the nurbPatchData parameter. The NURB patch is drawn, picked, bounded, or written according to the view characteristics specified in the view parameter.
You can use the Q3NURBPatch_GetData function to get the data that defines a NURB patch and its attributes.
TQ3Status Q3NURBPatch_GetData (
TQ3GeometryObject nurbPatch,
TQ3NURBPatchData *nurbPatchData);
The Q3NURBPatch_GetData function returns, through the nurbPatchData parameter, information about the NURB patch specified by the nurbPatch parameter. QuickDraw 3D allocates memory for the TQ3NURBPatchData structure internally; you must call Q3NURBPatch_EmptyData to dispose of that memory.
You can use the Q3NURBPatch_SetData function to set the data that defines a NURB patch and its attributes.
TQ3Status Q3NURBPatch_SetData (
TQ3GeometryObject nurbPatch,
const TQ3NURBPatchData *nurbPatchData);
You can use the Q3NURBPatch_EmptyData function to release the memory occupied by the data structure returned by a previous call to Q3NURBPatch_GetData .
TQ3Status Q3NURBPatch_EmptyData (
TQ3NURBPatchData *nurbPatchData);
You can use the Q3NURBPatch_GetControlPoint function to get a control point for a NURB patch.
TQ3Status Q3NURBPatch_GetControlPoint (
TQ3GeometryObject nurbPatch,
unsigned long rowIndex,
unsigned long columnIndex,
TQ3RationalPoint4D *point4D);
You can use the Q3NURBPatch_SetControlPoint function to set a control point for a NURB patch.
TQ3Status Q3NURBPatch_SetControlPoint (
TQ3GeometryObject nurbPatch,
unsigned long rowIndex,
unsigned long columnIndex,
const TQ3RationalPoint4D *point4D);
The Q3NURBPatch_SetControlPoint function sets the four-dimensional control point having the row and column indices rowIndex and columnIndex in the controlPoints array of control points of the NURB patch specified by the nurbPatch parameter to the point specified by the point4D parameter.
You can use the Q3NURBPatch_GetUKnot function to get the value of a knot in the u parametric direction.
TQ3Status Q3NURBPatch_GetUKnot (
TQ3GeometryObject nurbPatch,
unsigned long knotIndex,
float *knotValue);
You can use the Q3NURBPatch_SetUKnot function to set the value of a knot in the u parametric direction.
TQ3Status Q3NURBPatch_SetUKnot (
TQ3GeometryObject nurbPatch,
unsigned long knotIndex,
float knotValue);
You can use the Q3NURBPatch_GetVKnot function to get the value of a knot in the v parametric direction.
TQ3Status Q3NURBPatch_GetVKnot (
TQ3GeometryObject nurbPatch,
unsigned long knotIndex,
float *knotValue);
You can use the Q3NURBPatch_SetVKnot function to set the value of a knot in the v parametric direction.
TQ3Status Q3NURBPatch_SetVKnot (
TQ3GeometryObject nurbPatch,
unsigned long knotIndex,
float knotValue);
Previous | QD3D Book | Overview | Chapter Contents | Next